import request from '@/util/request';

/**
 * 获取事件列表
 * @param {Object} data - 查询参数
 * @returns {Promise} - API 响应
 */
export function listEvents(data) {
  return request({
    url: 'event/listEvents',
    method: 'get',
    params: data, // 使用 params 发送查询参数
  });
}

/**
 * 新增事件
 * @param {Object} data - 新增的事件数据
 * @returns {Promise} - API 响应
 */
export function addEvent(data) {
  return request({
    url: 'event/addEvent',
    method: 'post',
    data: data, // 使用 data 发送请求体
  });
}

/**
 * 更新事件
 * @param {Object} data - 更新的事件数据
 * @returns {Promise} - API 响应
 */
export function updateEvent(data) {
  return request({
    url: `/updateEvent/${data.id}`, // 假设事件的 ID 在 URL 中
    method: 'put',
    data: data, // 使用 data 发送请求体
  });
}

/**
 * 删除事件
 * @param {number} id - 事件 ID
 * @returns {Promise} - API 响应
 */
export function deleteEvent(id) {
  return request({
    url: `/deleteEvent/${id}`, // 假设事件的 ID 在 URL 中
    method: 'delete',
  });
}

/**
 * 根据设施id获取事件列表
 * @param {number} id - 设施 ID
 * @returns {Promise} - API 响应
 */
export function getEventByFacilityId(id) {
  return request({
    url: `/event/getEventsByFacilityId/${id}`, // 假设设施的 ID 在 URL 中
    method: 'get',
  });
}


export function listAllConditionEvents(data) {
  return request({
    url: 'event/listAllConditionEvents',
    method: 'get',
    params: data, // 使用 params 发送查询参数
  });
}

//除去自身发布的事件
export function listAllConditionEventsWithoutSelf(data) {
  return request({
    url: 'event/listAllConditionEventsWithoutSelf',
    method: 'get',
    params: data, // 使用 params 发送查询参数
  });
}


//根据接收者id获取事件列表
export function getEventByReceiverId() {
  return request({
    url: '/event/getEventByReceiverId', // 假设接收者的 ID 在 token 中
    method: 'get',
  });
}

//更新接收事件、
export function updateReceiveEvent(id) {
  return request({
    url: `/event/updateReceiveEvent/${id}`,
    method: 'put',
  });
}

//根据token获取我发布的事件
export function getMyPublishEvent() {
  return request({
    url: '/event/getMyPublishEvent', // 假设 token 中有发布者的 ID
    method: 'get',
  });
}

//完成任务
export function completeEvent(id) {
  return request({
    url: `/event/completeEvent/${id}`,
    method: 'put',
  });
}

